Low level Configuration in ASP.NET Core

ASP.NET Core में Low-Level Configuration

ASP.NET Core के अंतर्गत लॉगिंग, डेटाबेस और सर्वर के अतिरिक्त और कई प्रकार के लो लेवल पर कॉन्फ़िगरेशन एप्लीकेशन में होता है जैसे -

  1. Authentication & Authorization
  2. CORS (Cross-Origin Resource Sharing)
  3. Rate Limiting / Throttling
  4. Custom Application Settings
  5. Caching (Memory, Redis, etc)
  6. Health Checks
  7. HTTP Client Factory / Resilience Policies
  8. gRPC / SignalR / WebSockets Settings
  9. File Providers / Static Files
  10. Forwarded Headers / Proxies

यदि आप ASP.NET Core में configuration infrastructure को गहराई से समझना चाहते हैं, और आप यह जानना चाहते हैं कि Logging, Database और Server के अतिरिक्त और किन-किन पहलुओं की low-level configuration की जाती है तो यह लेख अंत तक अवश्य पढ़ें।

आइए अब इसी संदर्भ में एक व्यवस्थित सूची प्रस्तुत करते हैं — जिससे यह समझा जा सके कि एप्लिकेशन स्तर पर और किन क्षेत्रों में कॉन्फ़िगरेशन सिस्टम (यानी Configuration Sources, Providers, और IConfiguration Data) का प्रयोग होता है।

ASP.NET Core में Low-Level पर Configurable अन्य प्रमुख घटक

1. Authentication & Authorization

कॉन्फ़िगरेशन के उदाहरण:

  • Authentication schemes (Cookies, JWT, OpenID Connect)
  • Token validation parameters
  • Roles और Policies की परिभाषा

🔹 appsettings.json उदाहरण:

{
  "Jwt": {
    "Authority": "https://login.example.com",
    "Audience": "myapi"
  }
}

कोड में उपयोग:

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAuthentication("Bearer").AddJwtBearer(
    options =>
    {
        options.Authority = builder.Configuration["Jwt:Authority"];
        options.Audience = builder.Configuration["Jwt:Audience"];
    });

2. CORS (Cross-Origin Resource Sharing)

कॉन्फ़िगरेशन:

  • किन origins से request की अनुमति है?
  • किन headers और methods की अनुमति है?
{
  "Cors": {
    "AllowedOrigins": [ "https://example.com" ]
  }
}

3. Rate Limiting / Throttling

कॉन्फ़िगरेशन (middleware या custom filters में):

  • Max requests per time window
  • Policy definitions
{
  "RateLimiting": 
    { 
    "RequestsPerMinute": 60 
    }
}

4. Custom Application Settings

आपके खुद के app-specific configurations: जैसे कि SMTP, Payment gateway keys, Retry policies आदि।

{
  "SmtpSettings": {
    "Host": "smtp.example.com",
    "Port": 587,
    "Username": "admin@example.com"
  }
}

कोड में उपयोग:

var builder = WebApplication.CreateBuilder(args);
builder.Services.Configure<SmtpSettings>(builder.Configuration.GetSection("SmtpSettings"));

5. Caching (Memory, Redis, etc.)

कॉन्फ़िगरेशन:

  • Expiration policy
  • Redis endpoint
  • Cache size limits
{
  "CacheSettings": {
    "AbsoluteExpirationMinutes": 30,
    "RedisConnection": "localhost:6379"
  }
}

6. Health Checks

कॉन्फ़िगरेशन:

  • कौन-से endpoints चेक करने हैं?
  • Thresholds और tags
{
  "HealthChecksUI": {
    "HealthChecks": [
      {
        "Name": "SQL Server",
        "Uri": "http://localhost/health/sql"
      }
    ]
  }
}

7. HTTP Client Factory / Resilience Policies

कॉन्फ़िगरेशन:

  • Timeout
  • Retry count
  • Circuit breaker thresholds
{
  "HttpClientPolicies": {
    "RetryCount": 3,
    "TimeoutSeconds": 10
  }
}

8. gRPC / SignalR / WebSockets Settings

कॉन्फ़िगरेशन:

  • KeepAliveInterval
  • MaxMessageSize
  • Transport mode (WebSockets/LongPolling)

9. File Providers / Static Files

कॉन्फ़िगरेशन:

  • Root path
  • Caching options for static files

10. Forwarded Headers / Proxies

Load balancers के पीछे चल रही applications के लिए।

{
  "ForwardedHeaders": 
  {
    "KnownProxies": [ "10.0.0.100" ]
  }
}

निष्कर्ष – Low-level Configurable Modules Summary

क्षेत्र विवरण
Authentication/Authorization JWT, Cookies, Roles, Policies
CORS Allowed origins, headers, methods
Rate Limiting Request quota और throttle rules
SMTP / Email / Payment Custom third-party settings
Caching Redis/Mem cache config
Health Checks External system monitoring
HTTP Client Retry, Timeout, Resilience
gRPC / SignalR Real-time protocols और config
Static Files / File Servers MIME types, Caching
Forwarded Headers Reverse proxies की compatibility

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Differences between in-process and out-of-process hosting models

Web Fundamental Concepts in Hindi for Beginners - FAQs with their Answers Part-1

Introduction to ASP.NET Core and Web Frameworks